package com.yike.user.service;

import com.yike.user.entity.Merchant;
import com.yike.user.param.AddMerchantParam;
import com.yike.user.param.MerchantPageParam;
import com.yike.common.base.BaseService;
import com.yike.common.pagination.Paging;
import com.yike.user.param.SetMerchantParam;
import com.yike.user.param.UpdateMerchantParam;
import com.yike.user.vo.MerchantVo;

/**
 * 商户表 服务类
 *
 * @author Sakura
 * @since 2024-09-03
 */
public interface MerchantService extends BaseService<Merchant> {

    /**
     * 保存
     *
     * @param addMerchantParam
     * @return
     * @throws Exception
     */
    boolean saveMerchant(AddMerchantParam addMerchantParam) throws Exception;

    boolean setMerchant(SetMerchantParam setMerchantParam) throws Exception;

    /**
     * 修改
     *
     * @param updateMerchantParam
     * @return
     * @throws Exception
     */
    boolean updateMerchant(UpdateMerchantParam updateMerchantParam) throws Exception;

    /**
     * 删除
     *
     * @param merchantNo
     * @return
     * @throws Exception
     */
    boolean deleteMerchant(String merchantNo) throws Exception;

    MerchantVo getMerchant(String merchantNo) throws Exception;

    /**
     * 获取分页对象
     *
     * @param merchantPageParam
     * @return
     * @throws Exception
     */
    Paging<MerchantVo> getMerchantPageList(MerchantPageParam merchantPageParam) throws Exception;

}
